Running Probabilistic Programs Backwards
نویسندگان
چکیده
Many probabilistic programming languages allow programs to be run under constraints in order to carry out Bayesian inference. Running programs under constraints could enable other uses such as rare event simulation and probabilistic verification—except that all such probabilistic languages are necessarily limited because they are defined or implemented in terms of an impoverished theory of probability. Measuretheoretic probability provides a more general foundation, but its generality makes finding computational content difficult. We develop a measure-theoretic semantics for a first-order probabilistic language with recursion, which interprets programs as functions that compute preimages. Preimage functions are generally uncomputable, so we derive an abstract semantics. We implement the abstract semantics and use the implementation to carry out Bayesian inference, stochastic ray tracing (a rare event simulation), and probabilistic verification of floating-point error bounds.
منابع مشابه
Automatic Probabilistic Program Verification through Random Variable Abstraction
The weakest pre-expectation calculus [20] has been proved to be a mature theory to analyze quantitative properties of probabilistic and nondeterministic programs. We present an automatic method for proving quantitative linear properties on any denumerable state space using iterative backwards fixed point calculation in the general framework of abstract interpretation. In order to accomplish thi...
متن کاملBackwards Abstract Interpretation of Probabilistic Programs
In industrial contexts, safety regulations often mandate upper bounds on the probabilities of failure. Now that embedded computers are part of many industrial environments, it is often needed to analyze programs with non-deterministic and probabilistic behavior. We propose a general abstract interpretation based method for the static analysis of programs using random generators or random inputs...
متن کاملLearning Stochastic Inverses for Adaptive Inference in Probabilistic Programs
We describe an algorithm for adaptive inference in probabilistic programs. During sampling, the algorithm accumulates information about the local probability distributions that compose the program’s overall distribution. We use this information to construct targeted samples: given a value for an intermediate expression, we stochastically invert each of the steps giving rise to this value, sampl...
متن کاملR2: An Efficient MCMC Sampler for Probabilistic Programs
We present a new Markov Chain Monte Carlo (MCMC) sampling algorithm for probabilistic programs. Our approach and tool, called R2, has the unique feature of employing program analysis in order to improve the efficiency of MCMC sampling. Given an input program P , R2 propagates observations in P backwards to obtain a semantically equivalent program P ′ in which every probabilistic assignment is i...
متن کاملWeak Probabilistic Bisimulation for Secure Information Flow
This paper proposes a notion of weak probabilistic bisimulation for Markov chains and shows how it can be used to justify the correctness of a recentlypublished type system for secure information flow. The type system guarantees that well-typed multi-threaded programs running under a uniform probabilistic scheduler satisfy the probabilistic noninterference property.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015